package com.ktgj.customer.service.impl;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.ktgj.common.core.utils.DateUtils;
import com.ktgj.customer.domain.vo.MallProductImgVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktgj.customer.mapper.MallProductImgMapper;
import com.ktgj.customer.domain.MallProductImg;
import com.ktgj.customer.service.IMallProductImgService;

/**
 * 商品图片Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-05-30
 */
@Service
public class MallProductImgServiceImpl implements IMallProductImgService 
{
    @Autowired
    private MallProductImgMapper mallProductImgMapper;

    /**
     * 查询商品图片
     * 
     * @param productImgId 商品图片ID
     * @return 商品图片
     */
    @Override
    public MallProductImg selectMallProductImgById(Long productImgId)
    {
        return mallProductImgMapper.selectMallProductImgById(productImgId);
    }

    /**
     * 查询商品图片列表
     * 
     * @param mallProductImg 商品图片
     * @return 商品图片
     */
    @Override
    public List<MallProductImg> selectMallProductImgList(MallProductImg mallProductImg)
    {
        return mallProductImgMapper.selectMallProductImgList(mallProductImg);
    }

    /**
     * 新增商品图片
     * 
     * @param mallProductImg 商品图片
     * @return 结果
     */
    @Override
    public int insertMallProductImg(MallProductImg mallProductImg)
    {
        mallProductImg.setCreateTime(DateUtils.getNowDate());
        return mallProductImgMapper.insertMallProductImg(mallProductImg);
    }

    /**
     * 修改商品图片
     * 
     * @param mallProductImg 商品图片
     * @return 结果
     */
    @Override
    public int updateMallProductImg(MallProductImg mallProductImg)
    {
        mallProductImg.setUpdateTime(DateUtils.getNowDate());
        return mallProductImgMapper.updateMallProductImg(mallProductImg);
    }

    /**
     * 批量删除商品图片
     * 
     * @param productImgIds 需要删除的商品图片ID
     * @return 结果
     */
    @Override
    public int deleteMallProductImgByIds(Long[] productImgIds)
    {
        return mallProductImgMapper.deleteMallProductImgByIds(productImgIds);
    }

    /**
     * 删除商品图片信息
     * 
     * @param productImgId 商品图片ID
     * @return 结果
     */
    @Override
    public int deleteMallProductImgById(Long productImgId)
    {
        return mallProductImgMapper.deleteMallProductImgById(productImgId);
    }

    //商城图片管理
    @Override
    public int insertProductImg(MallProductImgVO mallProductImg) {
        if (mallProductImg.getProductId() != null && !mallProductImg.getProductId().equals(0L))
            mallProductImgMapper.deleteMallProductImgByProductId(mallProductImg.getProductId());
        for (int i = 0; i < mallProductImg.getImgPaths().size(); i++) {
            MallProductImg productImg = new MallProductImg();
            productImg.setProductId(mallProductImg.getProductId());
            productImg.setImgPath(mallProductImg.getImgPaths().get(i));
            if (i == 0)
                productImg.setTypeId((long) i);
            else
                productImg.setTypeId(1L);
            productImg.setSortId((long) i);
            productImg.setCreateTime(new Date());
            productImg.setUpdateTime(new Date());
            int img = mallProductImgMapper.insertMallProductImg(productImg);
            if (img == 0) {
                return img;
            }
        }
        return 1;
    }

    /**
     * 通过商品id查询未删除的图片
     * @param productId
     * @return
     */
    @Override
    public List<MallProductImg> queryMallProductImgByProductId(Long productId) {
        return mallProductImgMapper.queryMallProductImgByProductId(productId);
    }
}
